/********************************************
 * 功能说明: BASE64加密解密
 * 模块名称: 工具模块
 * 系统名称: java敏捷开发通用平台
 * 软件版权:
 * 系统版本: 1.0.0
 * 开发人员: zhangfb
 * 开发时间: 2017年8月2日 下午3:03:47
 * 审核人员:
 * 相关文档:
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.hyacinth.codec;

import org.apache.commons.codec.binary.Base64;

/**
 * BASE64加密解密
 * @author zhangfb
 * @version 1.0.0.1
 */
public class BASE64Utils {
	
	public static void main(String[] args) {
		String id = "{\"password\":\"s123456\",\"shopCode\":\"S_10244515\",\"shopLongitude\":\"108.885401\",\"recomendUser\":\"\",\"mobile\":\"13456789000\",\"shopName\":\"好好\",\"shopLatitude\":\"34.229359\",\"shopAddress\":\"测试\",\"verifyCode\":\"390903\"}";
		String code = BASE64Utils.encodeSafe(id);
		System.out.println(code);
        //String data = "eyJwYXNzd29yZCI6InMxMjM0NTYiLCJzaG9wQ29kZSI6IlNfMTAyNDQ1MTUiLCJzaG9wTG9uZ2l0dWRlIjoiMTA4Ljg4NTQwMSIsInJlY29tZW5kVXNlciI6IiIsIm1vYmlsZSI6IjEzNDU2Nzg5MDAwIiwic2hvcE5hbWUiOiLlpb3lpb0iLCJzaG9wTGF0aXR1ZGUiOiIzNC4yMjkzNTkiLCJzaG9wQWRkcmVzcyI6Iua1i ivlSIsInZlcmlmeUNvZGUiOiIzOTA5MDMifQ==";
		String text = BASE64Utils.decode(code);
		System.out.println(text);
	}
	
	public static String encode(Long data) {
        return encode(data.toString());
    }
	
	public static String encode(String data) {
        return Base64.encodeBase64String(data.getBytes());
    }
	
	public static String encodeSafe(String data) {
        return Base64.encodeBase64URLSafeString(data.getBytes());
    }
	
	public static String decode(String data) {
		return new String(Base64.decodeBase64(data));
    }

}
